package org.shoukaiseki.common.validation;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

/**
 * 数字不能小于0,为null忽略校验,还需要 NotNull 注解
 * 自定义校验注解
 **/
@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
//指定注解的实现类
@Constraint(validatedBy = NumberOnlyGreaterZeroImpl.class)
public @interface NumberOnlyGreaterZero {

    // TODO: 2019/1/10 可以添加其它扩展的属性
    String message() default "数字只能大于0";


    // TODO: 2019/1/10 groups 和 payload 这两个parameter 必须包含
    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};
}
